package exemplos;

import java.util.Scanner;


//@author Naved Momin naved.spartans.rocks75@gmail.com/navedmomin10@gmail.com
 
public class SimpleRR {

   int [] temp;
   int commBT, k, tq;
   int[][] d;
   int btcache;

    
   void getData( ){
       Scanner s = new Scanner(System.in);
       System.out.println( "enter no. of process");
       int pcount = s.nextInt();
       d = new int[pcount][2];

       temp = new int[pcount];
       System.out.println( "enter BT");
       for (int i = 0; i < pcount; i++) {
           d[i][0] = i;

           int m = s.nextInt();
           d[i][1] = m;

           commBT += m;
       }
       System.out.println( "enter TQ ");
       tq = s.nextInt();
       start();
       display( );
        
   }
   void start( ){
       for (int i = 0; i < d.length; i++) {
           int bt  = d[i][1];
           if( bt > 0){
               if( bt <= tq){
                   temp[i] = btcache+bt;
                   btcache = temp[i];
                   k += bt;
                   bt -= bt;
                     
               }
               else{
                   temp[i] = btcache+tq;
                   btcache = temp[i];
                   bt -= tq;
                   k += tq;
               }
                
               d[i][1] = bt;
               
                
           }
       }
       if( k!= commBT)
           start();
   }
    
   public static void main(String[] args) {
       // TODO code application logic here
       SimpleRR r = new SimpleRR();
       r.getData();
   }

   private void display() {
       float val = 0;
       int c = 1;
       for (int i : temp) {
           System.out.println( "BT for process " + c + " is " + i );
           val += i;
           c++;
       }
       System.out.println( "avg BT = " + val/temp.length);
   }
}
